home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / ComponentIncludes / ImageCompression.k.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-17  |  11.9 KB  |  217 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        ImageCompression.k.h
  3.  
  4.      Contains:    QuickTime Image Compression Interfaces.
  5.  
  6.      Version:    Technology:    QuickTime 3.0
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __IMAGECOMPRESSION_K__
  18. #define __IMAGECOMPRESSION_K__
  19.  
  20. #include <ImageCompression.h>
  21.  
  22. /*
  23.     Example usage:
  24.  
  25.         #define GRAPHICSIMPORT_BASENAME()    Fred
  26.         #define GRAPHICSIMPORT_GLOBALS()    FredGlobalsHandle
  27.         #include <ImageCompression.k.h>
  28.  
  29.     To specify that your component implementation does not use globals, do not #define GRAPHICSIMPORT_GLOBALS
  30. */
  31. #ifdef GRAPHICSIMPORT_BASENAME
  32.     #ifndef GRAPHICSIMPORT_GLOBALS
  33.         #define GRAPHICSIMPORT_GLOBALS() 
  34.         #define ADD_GRAPHICSIMPORT_COMMA 
  35.     #else
  36.         #define ADD_GRAPHICSIMPORT_COMMA ,
  37.     #endif
  38.     #define GRAPHICSIMPORT_GLUE(a,b) a##b
  39.     #define GRAPHICSIMPORT_STRCAT(a,b) GRAPHICSIMPORT_GLUE(a,b)
  40.     #define ADD_GRAPHICSIMPORT_BASENAME(name) GRAPHICSIMPORT_STRCAT(GRAPHICSIMPORT_BASENAME(),name)
  41.  
  42.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetDataReference) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA Handle  dataRef, OSType  dataReType);
  43.  
  44.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetDataReference) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA Handle * dataRef, OSType * dataReType);
  45.  
  46.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetDataFile) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA const FSSpec * theFile);
  47.  
  48.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetDataFile) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA FSSpec * theFile);
  49.  
  50.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetDataHandle) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA Handle  h);
  51.  
  52.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetDataHandle) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA Handle * h);
  53.  
  54.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetImageDescription) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA ImageDescriptionHandle * desc);
  55.  
  56.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetDataOffsetAndSize) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA unsigned long * offset, unsigned long * size);
  57.  
  58.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(ReadData) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA void * dataPtr, unsigned long  dataOffset, unsigned long  dataSize);
  59.  
  60.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetClip) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA RgnHandle  clipRgn);
  61.  
  62.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetClip) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA RgnHandle * clipRgn);
  63.  
  64.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetSourceRect) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA const Rect * sourceRect);
  65.  
  66.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetSourceRect) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA Rect * sourceRect);
  67.  
  68.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetNaturalBounds) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA Rect * naturalBounds);
  69.  
  70.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(Draw) (GRAPHICSIMPORT_GLOBALS());
  71.  
  72.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetGWorld) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA CGrafPtr  port, GDHandle  gd);
  73.  
  74.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetGWorld) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA CGrafPtr * port, GDHandle * gd);
  75.  
  76.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetMatrix) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA const MatrixRecord * matrix);
  77.  
  78.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetMatrix) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA MatrixRecord * matrix);
  79.  
  80.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetBoundsRect) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA const Rect * bounds);
  81.  
  82.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetBoundsRect) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA Rect * bounds);
  83.  
  84.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SaveAsPicture) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA const FSSpec * fss, ScriptCode  scriptTag);
  85.  
  86.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetGraphicsMode) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA long  graphicsMode, const RGBColor * opColor);
  87.  
  88.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetGraphicsMode) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA long * graphicsMode, RGBColor * opColor);
  89.  
  90.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetQuality) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA CodecQ  quality);
  91.  
  92.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetQuality) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA CodecQ * quality);
  93.  
  94.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SaveAsQuickTimeImageFile) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA const FSSpec * fss, ScriptCode  scriptTag);
  95.  
  96.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetDataReferenceOffsetAndLimit) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA unsigned long  offset, unsigned long  limit);
  97.  
  98.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetDataReferenceOffsetAndLimit) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA unsigned long * offset, unsigned long * limit);
  99.  
  100.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetAliasedDataReference) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA Handle * dataRef, OSType * dataRefType);
  101.  
  102.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(Validate) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA Boolean * valid);
  103.  
  104.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetMetaData) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA void * userData);
  105.  
  106.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetMIMETypeList) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA void * qtAtomContainerPtr);
  107.  
  108.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(DoesDrawAllPixels) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA short * drawsAllPixels);
  109.  
  110.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetAsPicture) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA PicHandle * picture);
  111.  
  112.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(ExportImageFile) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA OSType  fileType, OSType  fileCreator, const FSSpec * fss, ScriptCode  scriptTag);
  113.  
  114.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetExportImageTypeList) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA void * qtAtomContainerPtr);
  115.  
  116.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(DoExportImageFileDialog) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA const FSSpec * inDefaultSpec, StringPtr  prompt, ModalFilterYDUPP  filterProc, OSType * outExportedType, FSSpec * outExportedSpec, ScriptCode * outScriptTag);
  117.  
  118.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetExportSettingsAsAtomContainer) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA void * qtAtomContainerPtr);
  119.  
  120.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetExportSettingsFromAtomContainer) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA void * qtAtomContainer);
  121.  
  122.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(SetProgressProc) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA ICMProgressProcRecordPtr  progressProc);
  123.  
  124.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMPORT_BASENAME(GetProgressProc) (GRAPHICSIMPORT_GLOBALS() ADD_GRAPHICSIMPORT_COMMA ICMProgressProcRecordPtr  progressProc);
  125.  
  126.  
  127.     /* MixedMode ProcInfo constants for component calls */
  128.     enum {
  129.         uppGraphicsImportSetDataReferenceProcInfo = 0x00000FF0,
  130.         uppGraphicsImportGetDataReferenceProcInfo = 0x00000FF0,
  131.         uppGraphicsImportSetDataFileProcInfo = 0x000003F0,
  132.         uppGraphicsImportGetDataFileProcInfo = 0x000003F0,
  133.         uppGraphicsImportSetDataHandleProcInfo = 0x000003F0,
  134.         uppGraphicsImportGetDataHandleProcInfo = 0x000003F0,
  135.         uppGraphicsImportGetImageDescriptionProcInfo = 0x000003F0,
  136.         uppGraphicsImportGetDataOffsetAndSizeProcInfo = 0x00000FF0,
  137.         uppGraphicsImportReadDataProcInfo = 0x00003FF0,
  138.         uppGraphicsImportSetClipProcInfo = 0x000003F0,
  139.         uppGraphicsImportGetClipProcInfo = 0x000003F0,
  140.         uppGraphicsImportSetSourceRectProcInfo = 0x000003F0,
  141.         uppGraphicsImportGetSourceRectProcInfo = 0x000003F0,
  142.         uppGraphicsImportGetNaturalBoundsProcInfo = 0x000003F0,
  143.         uppGraphicsImportDrawProcInfo = 0x000000F0,
  144.         uppGraphicsImportSetGWorldProcInfo = 0x00000FF0,
  145.         uppGraphicsImportGetGWorldProcInfo = 0x00000FF0,
  146.         uppGraphicsImportSetMatrixProcInfo = 0x000003F0,
  147.         uppGraphicsImportGetMatrixProcInfo = 0x000003F0,
  148.         uppGraphicsImportSetBoundsRectProcInfo = 0x000003F0,
  149.         uppGraphicsImportGetBoundsRectProcInfo = 0x000003F0,
  150.         uppGraphicsImportSaveAsPictureProcInfo = 0x00000BF0,
  151.         uppGraphicsImportSetGraphicsModeProcInfo = 0x00000FF0,
  152.         uppGraphicsImportGetGraphicsModeProcInfo = 0x00000FF0,
  153.         uppGraphicsImportSetQualityProcInfo = 0x000003F0,
  154.         uppGraphicsImportGetQualityProcInfo = 0x000003F0,
  155.         uppGraphicsImportSaveAsQuickTimeImageFileProcInfo = 0x00000BF0,
  156.         uppGraphicsImportSetDataReferenceOffsetAndLimitProcInfo = 0x00000FF0,
  157.         uppGraphicsImportGetDataReferenceOffsetAndLimitProcInfo = 0x00000FF0,
  158.         uppGraphicsImportGetAliasedDataReferenceProcInfo = 0x00000FF0,
  159.         uppGraphicsImportValidateProcInfo = 0x000003F0,
  160.         uppGraphicsImportGetMetaDataProcInfo = 0x000003F0,
  161.         uppGraphicsImportGetMIMETypeListProcInfo = 0x000003F0,
  162.         uppGraphicsImportDoesDrawAllPixelsProcInfo = 0x000003F0,
  163.         uppGraphicsImportGetAsPictureProcInfo = 0x000003F0,
  164.         uppGraphicsImportExportImageFileProcInfo = 0x0000BFF0,
  165.         uppGraphicsImportGetExportImageTypeListProcInfo = 0x000003F0,
  166.         uppGraphicsImportDoExportImageFileDialogProcInfo = 0x000FFFF0,
  167.         uppGraphicsImportGetExportSettingsAsAtomContainerProcInfo = 0x000003F0,
  168.         uppGraphicsImportSetExportSettingsFromAtomContainerProcInfo = 0x000003F0,
  169.         uppGraphicsImportSetProgressProcProcInfo = 0x000003F0,
  170.         uppGraphicsImportGetProgressProcProcInfo = 0x000003F0
  171.     };
  172.  
  173. #endif    /* GRAPHICSIMPORT_BASENAME */
  174.  
  175. /*
  176.     Example usage:
  177.  
  178.         #define IMAGETRANSCODER_BASENAME()    Fred
  179.         #define IMAGETRANSCODER_GLOBALS()    FredGlobalsHandle
  180.         #include <ImageCompression.k.h>
  181.  
  182.     To specify that your component implementation does not use globals, do not #define IMAGETRANSCODER_GLOBALS
  183. */
  184. #ifdef IMAGETRANSCODER_BASENAME
  185.     #ifndef IMAGETRANSCODER_GLOBALS
  186.         #define IMAGETRANSCODER_GLOBALS() 
  187.         #define ADD_IMAGETRANSCODER_COMMA 
  188.     #else
  189.         #define ADD_IMAGETRANSCODER_COMMA ,
  190.     #endif
  191.     #define IMAGETRANSCODER_GLUE(a,b) a##b
  192.     #define IMAGETRANSCODER_STRCAT(a,b) IMAGETRANSCODER_GLUE(a,b)
  193.     #define ADD_IMAGETRANSCODER_BASENAME(name) IMAGETRANSCODER_STRCAT(IMAGETRANSCODER_BASENAME(),name)
  194.  
  195.     EXTERN_API( ComponentResult  ) ADD_IMAGETRANSCODER_BASENAME(BeginSequence) (IMAGETRANSCODER_GLOBALS() ADD_IMAGETRANSCODER_COMMA ImageDescriptionHandle  srcDesc, ImageDescriptionHandle * dstDesc, void * data, long  dataSize);
  196.  
  197.     EXTERN_API( ComponentResult  ) ADD_IMAGETRANSCODER_BASENAME(Convert) (IMAGETRANSCODER_GLOBALS() ADD_IMAGETRANSCODER_COMMA void * srcData, long  srcDataSize, void ** dstData, long * dstDataSize);
  198.  
  199.     EXTERN_API( ComponentResult  ) ADD_IMAGETRANSCODER_BASENAME(DisposeData) (IMAGETRANSCODER_GLOBALS() ADD_IMAGETRANSCODER_COMMA void * dstData);
  200.  
  201.     EXTERN_API( ComponentResult  ) ADD_IMAGETRANSCODER_BASENAME(EndSequence) (IMAGETRANSCODER_GLOBALS());
  202.  
  203.  
  204.     /* MixedMode ProcInfo constants for component calls */
  205.     enum {
  206.         uppImageTranscoderBeginSequenceProcInfo = 0x0000FFF0,
  207.         uppImageTranscoderConvertProcInfo = 0x0000FFF0,
  208.         uppImageTranscoderDisposeDataProcInfo = 0x000003F0,
  209.         uppImageTranscoderEndSequenceProcInfo = 0x000000F0
  210.     };
  211.  
  212. #endif    /* IMAGETRANSCODER_BASENAME */
  213.  
  214.  
  215. #endif /* __IMAGECOMPRESSION_K__ */
  216.  
  217.